///////////////////////////////////////////////////////////
//  GameLoggerWindow.h
//  Implementation of the Class GameLoggerWindow
//  Created on:      11-Jan-2015 4:13:27 PM
//  Original author: Eng. Ahmed Yasser
///////////////////////////////////////////////////////////

#if !defined(EA_F880158B_02D2_432d_9095_425431BFE008__INCLUDED_)
#define EA_F880158B_02D2_432d_9095_425431BFE008__INCLUDED_

#include "IGameLog.h"

namespace EngineGame
{
	namespace EngineProfile
	{
		/**
		 * Log the logging data to a window
		 * @author Eng. Ahmed Yasser
		 * @version 1.0
		 * @updated 12-Jan-2015 12:01:54 PM
		 */
		class GameLoggerWindow : public EngineGame::EngineProfile::IGameLog
		{

		public:
			GameLoggerWindow();
			virtual ~GameLoggerWindow();
			GameLoggerWindow(const GameLoggerWindow& theGameLoggerWindow);

			/**
			 * Close the logger and release any attached resources to it
			 */
			virtual void closeLogger();
			/**
			 * Initialize the logger system with any additional resources needed
			 */
			virtual void initLogger();
			/**
			 * Log any string data in the logger
			 * 
			 * @param logString    The log string that will be logged in the system
			 */
			virtual void log(std::string logString);

		};

	}

}
#endif // !defined(EA_F880158B_02D2_432d_9095_425431BFE008__INCLUDED_)
